home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / CRACK83.DSK / FILE #5.txt < prev    next >
Text File  |  2014-09-09  |  3KB  |  74 lines

  1. TY (12)CL1993>MYROM
  2. ***************************************
  3.  
  4. *     BOZO'S PROGRAM CRACKER ROM      *
  5. *            REVISION 1.1             *
  6.  
  7. ***************************************
  8. *
  9. * NOTE: THIS PGM WILL NOT WORK UNLESS 'TO', 'FROM', AND 'STOP' ALL EQUATE TO
  10. *       PAGE BOUNDRIES (E.G. 2000, 4400, ETC)
  11. *
  12. *****************************************************************************
  13. * THE BASIS OF THIS LITTLE PROGRAM IS THE USE OF ABSOLUTE INDEXED INCREMENT *
  14. * ADDRESSING  (E.G.  LDA  400,X   STA 2400,X   INX). TO KEEP THE LENGTH  AS *
  15. * SHORT AS POSSIBLE,  SELF-MODIFYING CODE IS USED.   THE  ABSOLUTE INDEXING *
  16. * MODE CAN ONLY  MOVE 1 PAGE AT A TIME,   THE SELF-MODIFICATION PART ALLOWS *
  17. * ONE TO MOVE MORE THAN 1 PAGE, WITHOUT HAVING TO DUPLICATE THE CODE OVER & *
  18. * AND  OVER FOR EACH  PAGE ($FF BYTES).   SINCE SELF-MODIFYING CODE MUST BE *
  19. * RAM  BASED,  THE FIRST PART OF THIS PGM MOVES THE SECOND  PART  FROM  ROM *
  20. * INTO RAM; IT THEN JUMPS TO THE BEGINNING OF THE CODE IT JUST MOVED....... *
  21. * !!!!! WARNING !!!!!  NOTE THAT MOST ASSEMBLERS WILL CODE THE:  LDA FROM,X *
  22. * INCORRECTLY WHEN FROM EQUATES IN THE ZERO PAGE;   THIS WILL RESULT IN TWO *
  23. * OP-CODES  BEING GENERATED INSTEAD  OF  THREE,  AND WILL MESS UP THE SELF- *
  24. * MODIFYING PART.  THIS SOURCE IS MEANT MOSTLY AS AN AID  TO UNDERSTANDING; *
  25. * USE THE OBJECT CODE WHICH FOLLOWS,  WHEN MODIFYING YOUR F8 MONITOR.       *
  26. * --------------->BOZO<----------------------------->NYC<------------------ *
  27. ******************----*******************************---*********************
  28. *
  29. *        ORG $FCC9 ;THIS IS THE TAPE WRITE SECTION OF F8 ROM
  30. *                  ;AND THE BEGINNING OF ROM BASED CODE
  31.     FROM EQU $0000 ;BEGINNING OF MEMORY TO SAVE
  32.       TO EQU $2000 ;LOCATION TO BEGIN SAVING CODE
  33.     STOP EQU $2800 ;LOCATION + 1 TO STOP SAVING CODE
  34.     CODE EQU $2800 ;BEGINNING OF RELOCATED (RAM) BASED CODE
  35.    RESET EQU $FF59
  36. *                  ;!!! PROGRAM START !!!
  37.          CLD
  38.          LDX #0
  39.    LOOP1 LDA MOVE,X
  40.          STA CODE,X
  41.          INX
  42.          CPX #$1B ;LENGTH OF ROM CODE TO MOVE
  43.          BNE LOOP1
  44.          JMP CODE
  45.     MOVE LDY #/STOP
  46.          LDX #0
  47.    LOOP2 LDA FROM,X
  48.          STA TO,X 
  49.          INX
  50.          BNE LOOP2
  51.          INC CODE+6
  52.          INC CODE+9
  53.          CPY CODE+9
  54.          BNE LOOP2
  55.          JMP RESET
  56.          END
  57.  
  58. HERE'S THE ASSEMBLED OBJECT,  READY TO DROP IN AT $FCC9.  THIS IS
  59. THE  ONE OF THE TAPE WRITE ROUTINES IN THE F8 ROM;  SINCE I DON'T
  60. USE TAPE, AND I WANTED TO PRESERVE THE ROM ROUTINES, I CHOSE THIS
  61. LOCATION.   IF YOU WANT TO LOCATE IT SOMEWHERE ELSE,  FEEL  FREE,
  62. BUT BEWARE THAT IT IS NOT RELOCATABLE WITHOUT A FEW CHANGES.
  63.  
  64.  
  65. FCC9: D8 A2 00 BD DA FC 9D 00
  66. FCD1: 28 E8 E0 1B D0 F5 4C 00
  67. FCD9: 28 A0 28 A2 00 BD 00 00
  68. FCE1: 9D 00 20 E8 D0 F7 EE 06
  69. FCE9: 28 EE 09 28 CC 09 28 D0
  70. FCF1: EC 4C 59 FF
  71.                                         HAVE FUN (?)
  72.  
  73.  
  74.